from django.db import models
from django.utils import timezone

class NewsInformation(models.Model):
    # 新闻标题（最长200字符）
    title = models.CharField(max_length=200, verbose_name="新闻标题")
    
    # 新闻图片（存储图片路径，上传到media/news_images目录）
    image = models.ImageField(upload_to='news_images/', verbose_name="新闻图片", null=True)
    
    # 发布时间（默认为当前时间）
    publish_time = models.DateTimeField(default=timezone.now, verbose_name="发布时间")
    
    # 新闻摘要（文本类型，可存储较长内容）
    summary = models.TextField(verbose_name="新闻摘要")

    # 新闻点击量（默认为0）
    click = models.PositiveIntegerField(default=0, verbose_name="点击量")
    
    # 新闻HTML文件（存储HTML内容）
    html_content = models.TextField(verbose_name="新闻HTML内容")

    # 新闻分类（使用choices限制分类类型）
    # 选项包括：企业动态、行业资讯、产品发布、市场活动
    CATEGORY_CHOICES = [
        ('company',   '企业动态'),
        ('industry',  '行业资讯'),
        ('product',   '产品发布'),
        ('activity',  '市场活动'),
    ]
    category = models.CharField(max_length=20, choices=CATEGORY_CHOICES, default='company', verbose_name='新闻分类')


    class Meta:
        verbose_name = "新闻信息"
        verbose_name_plural = "新闻信息"
        ordering = ['-publish_time']  # 按发布时间倒序排列

    def __str__(self):
        return self.title  # 显示标题作为对象标识